//由于webpack是基于Node进行构建的，所以，webpack的配置文件中，
//任何合法的Node代码都是支持的
var path =require('path')
//在内存中，根据指定的模板页面，生成一份内存中的首页，同时自动把
//打包好的bundle注入到页面底部
//如果要配置插件，需要在导出的对象中，挂载一个plugins节点
var htmlWebpackPlugin = require('html-webpack-plugin')

var VueLoaderPlugin = require('vue-loader/lib/plugin')

module.exports={
	entry: path.join(__dirname, './src/main.js'),
	output:{
		path:path.join(__dirname,'./dist'),
		filename:'bundle.js'
	},

	plugins:[//所有 webpack插件的配置节点
		new htmlWebpackPlugin({
			template: path.join(__dirname, './src/index.html'),//指定模板文件路径
			filename:'index.html' //设置生成的内存页面的名称
		}),

		new VueLoaderPlugin()
	],

	module:{        //配置所有第三方loader模块的

		rules:[     //第三方模块的匹配规则

			{test:/\.css$/, use:['style-loader','css-loader']},//处理css文件的
			//loader
			{ test:/\.less$/, use:['style-loader','css-loader','less-loader'] },
			//处理less文件的loader
			{ test:/\.scss$/, use:['style-loader','css-loader','sass-loader'] },
			//处理sass文件的loader
			{ test: /\.(jpg|png|gif|bmp|jpeg)$/, use:'url-loader?limit=41990&name=[hash:8]-[name].[ext]'},
			//处理图片路径的loader
			{ test: /\.(ttf|eot|svg|woff|woff2)$/, use:'url-loader'},
			//处理字体文件的loader
			{ test:/\.js$/, use:'babel-loader', exclude:/node_modules/},
			//配置Babel来转换高级的语法
			{ test:/\.vue$/, use: 'vue-loader'}  //处理 .vue 文 件 的 loader
			
		]

	}
}